import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_excel('某高校一年级学生体质指数.xlsx')
plt.figure(figsize=(8, 4))
sns.set_style(style='darkgrid', rc={'font.sans-serif': 'SimHei'})
sns.set_palette('pastel')
sns.violinplot(x='性别', y='体质指数', data=df)
plt.title('某高校一年级不同性别学生体质指数小提琴图')
plt.yticks([15, 18.5, 24, 28, 45])
plt.show()